package com.qiaoba.module.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qiaoba.module.system.entity.SysUserPost;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户岗位关联 数据层
 *
 * @author ailanyin
 * @version 1.0
 * @since 2023/5/9 9:50
 */
public interface SysUserPostMapper extends BaseMapper<SysUserPost> {
    /**
     * 通过userId查询所绑定的岗位ID列表
     *
     * @param userId userId
     * @return postIds
     */
    List<String> selectPostIdsByUserId(String userId);

    /**
     * 通过userId查询所绑定的岗位名称列表
     *
     * @param userId userId
     * @return postNames
     */
    List<String> selectPostNamesByUserId(String userId);

    /**
     * 查询正在被使用的岗位名称列表
     *
     * @param postIds postIds
     * @return postNames
     */
    List<String> selectUsedPostNameByIds(@Param("list") List<String> postIds);

    /**
     * 批量删除用户绑定的所有岗位
     *
     * @param userIds userIds
     */
    void deleteByUserIds(@Param("list") List<String> userIds);
}
